The present invention is directed to improving the transfer of data files between users of the Internet system and an Internet server. Specifically, a method is described for increasing the speed of downloading or uploading information between a user and an Internet server.
Internet service has become very popular among personal computer users. Pages which are formed of multiple data files are retrieved from a server which is connected to the user via the Internet and usually through a telephone service line. The user""s computer communicates via the telephone line with a modem which provides for data communications over the telephone line to the user""s Internet provider.
The user accesses the web pages from a location on a server (a web site) which is identified from a unique Internet address. Once the user is connected to the server which contains the web pages of an Internet site, a data transfer of the multiple data files comprising the web page takes place.
A web page of a web site often contains multiple data files, including text files, sound files, graphic files and/or even moving graphic files. As is known in Internet technology, data files may also be transferred from the user to an Internet server for loading on a web site server, or for delivery to another user of the Internet. The rate of transfer for each of these files is limited by the bandwidth restrictions of the modem and telephone lines. The limited bandwidth available with these devices produces unacceptable waiting periods for transferring the web page files from the server down to the user""s computer, during a download operation, or for transferring the files in an upload operation.
Most web pages contain one or more files such as graphics files. These files require long download times because of their sheer size. Furthermore, Internet channels can stall that further increase the delays in downloading of these files.
Various schemes have appeared over the years for increasing bandwidth by combining two or more channels. One popular technique has been the use of Inverse Multiplexing such as that described by Chuniad, et al., U.S. Pat. No. 5,333,132. Briefly, this technique separates a high speed data channel on the transmit-side to two channels and introduces alignment frames. On the receive-side the alignment frames are used to reassemble the high-speed data channel. The alignment frames are used to compensate for respective delays in the two channels.
The present invention provides a solution for decreasing the delays incurred when multiple files forming a web page are to be transferred between a server and a personal computer user. Furthermore, the present invention decreases delays due to channel stalling.
It is an object of this invention to provide for an improved data transfer between a user connected to the Internet via a telephone line.
It is a specific object of this invention to avoid delays in uploading or downloading data files having embedded data files from the Internet.
These and other objects of the invention are provided by a computer executable process which transfers data files between a personal computer of an Internet user and the Internet via multiple channels. The computer executable process may be stored on a computer readable media in the form of instructions for execution by the media. The transfer of data may be from the server to the user, or as will be evident to those skilled in the art, from the user to the server in an uploading operation. The user""s computer is to an Internet provider through two channels. The personal computer assembles a retrieved web page by storing the various data files which are retrieved from the web site server. Initially, a first channel is used to transfer the first data file of a web page to the user in a downloading operation. The second channel connected to the user""s computer transfers a second data file which may be embedded in the first data file to the computer for storage. As soon as one of the two channels completes the file retrieval process, it is assigned to transfer another data file embedded in the first data file for retrieval and storage. When each modem completes a data file transfer, it is subsequently assigned a new embedded data file for transfer, until all embedded data files have been transferred.
The simultaneous transfer of data files occurring through two channels increases the speed of data transfer significantly, avoiding the delays which are incurred from transferring lengthy data files one at a time.
In a preferred embodiment of the invention, the two channels include two modems connected through separate telephone lines to the Internet provider. The two channels are used to transfer a stalled data file. In this scenario, when the user""s computer detects that a data file transfer has halted for a predetermined amount of time or the data transfer rate has fallen below a predetermined rate, representing a stalled file transfer, a second modem of the second channel is assigned to transfer the stalled data file. As the same data file is being transferred by both modems, when one modem has successfully transferred the entire data file, the other modem is inhibited from making a further transfer of this data file.